//
//  JTTopic.h
//  百思不得姐
//
//  Created by Robin Zhang on 2017/1/6.
//  Copyright © 2017年 BeiJingWangDianJieTong. All rights reserved.
//  帖子模型(视频、声音、图片、段子)

#import <Foundation/Foundation.h>
@class JTComment;
#import <AVFoundation/AVFoundation.h>

/** 帖子类型 */
typedef NS_ENUM(NSUInteger, JTTopicType) {
    
    /** 全部 */
    JTTopicTypeAll = 1,
    /** 图片 */
    JTTopicTypePicutre = 10,
    /** 段子 */
    JTTopicTypeWord = 29,
    /** 声音 */
    JTTopicTypeVoice = 31,
    /** 视频 */
    JTTopicTypeVideo = 41
};

@interface JTTopic : NSObject

/** 用户的名字 */
@property (nonatomic, copy, nullable) NSString *name;
/** 用户的头像 */
@property (nonatomic, copy, nullable) NSString *profile_image;
/** 帖子的文字内容 */
@property (nonatomic, copy, nullable) NSString *text;
/** 帖子审核通过的时间 */
@property (nonatomic, copy, nullable) NSString *created_at;
/** 顶数量 */
@property (nonatomic, assign) NSInteger ding;
/** 踩数量 */
@property (nonatomic, assign) NSInteger cai;
/** 转发\分享数量 */
@property (nonatomic, assign) NSInteger repost;
/** 评论数量 */
@property (nonatomic, assign) NSInteger comment;

/** 最热评论(数组中存放着JTComment模型) */
@property (nonatomic, strong, nullable) JTComment *top_cmt;

/** 帖子类型 */
@property (nonatomic, assign) JTTopicType type;

/** 图片的真实宽度 */
@property (nonatomic, assign) CGFloat width;
/** 图片的真实高度 */
@property (nonatomic, assign) CGFloat height;

/** 小图 */
@property (nonatomic, copy, nullable) NSString *smallImage;
/** 中等图片 */
@property (nonatomic, copy, nullable) NSString *middleImage;
/** 原图 */
@property (nonatomic, copy, nullable) NSString *largeImage;
/** 是否为git动画图片 */
@property (nonatomic, assign) BOOL is_gif;

/** 音频的时长 */
@property (nonatomic, assign) NSInteger voicetime;
/** 视频的时长 */
@property (nonatomic, assign) NSInteger videotime;
/** 音频/视频的播放次数 */
@property (nonatomic, assign) NSInteger playcount;

/** 帖子的id */
@property (nonatomic, copy, nullable) NSString *ID;

/** 声音的地址 */
@property (nonatomic, copy, nullable) NSString *voiceuri;

/** 分享至微信的地址 */
@property (nonatomic, copy, nullable) NSString *weixin_url;

/***** 额外增加的属性 - 方便开发 *****/
/** cell的高度 */
@property (nonatomic, assign) CGFloat cellHeight;
/** 中间内容的frame */
@property (nonatomic, assign) CGRect contentFrame;
/** 是否是超长图片 */
@property (nonatomic, assign, getter=isBigPicure) BOOL bigPicure;

/** 音乐播放器 */
@property (nonatomic, strong, nullable) AVAudioPlayer *audioPlayer;
/** 是否正在加载 */
@property (nonatomic, assign, getter=isEnabled) BOOL enabled;
/** 绑定音乐播放器与cell */
- (void)setUpAudioPlayerWithDelegate:(id <AVAudioPlayerDelegate> _Nullable)delegate completion:(void (^ _Nullable)(AVAudioPlayer * _Nonnull))completion;
/** 停止播放 */
- (void)pauseVoicePlay;

@end
